package org.summer.lawyer.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * 用户提现记录对象 user_withdraw
 *
 * @author summer
 * @date 2024-06-25
 */
@Data
@TableName("user_withdraw")
public class UserWithdraw  {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 微信小程序appid
     */
    @TableField(value = "app_id")
    private String appId;

    /**
     * 商户号
     */
    @TableField(value = "mch_no")
    private String mchNo;

    /**
     * 商户名称
     */
    @TableField(value = "mch_name")
    private String mchName;

    /**
     * 第三方交易号
     */
    @TableField(value = "trade_no")
    private String tradeNo;

    /**
     * 支付订单ID
     */
    @TableField(value = "pay_order_id")
    private Long payOrderId;

    /**
     * 用户ID
     */
    @TableField(value = "wx_user_id")
    private Long wxUserId;

    /**
     * 提现（渠道）方式（10=微信，20=支付宝，30=银行转账）
     */
    @TableField(value = "withdraw_way")
    private String withdrawWay;

    /**
     * 提现状态（10发起申请（待审核理）前台显示处理中，19提现中，20提现成功，30审核不通过，40提现失败）
     */
    @TableField(value = "withdraw_status")
    private String withdrawStatus;

    /**
     * 提现单号
     */
    @TableField(value = "withdraw_number")
    private String withdrawNumber;

    /**
     * 收款账户(微信openid,支付宝账号，银行卡号）
     */
    @TableField(value = "receivable_account")
    private String receivableAccount;

    /**
     * 收款人姓名
     */
    @TableField(value = "real_name")
    private String realName;

    /**
     * 开户行
     */
    @TableField(value = "opening_bank")
    private String openingBank;

    /**
     * 提现金额（单位分）
     */
    @TableField(value = "amount")
    private Long amount;

    /**
     * 审核不通过原因
     */
    @TableField(value = "review_reason")
    private String reviewReason;

    /**
     * 审核人ID
     */
    @TableField(value = "reviewer_id")
    private Long reviewerId;

    /**
     * 审核人姓名
     */
    @TableField(value = "reviewer_name")
    private String reviewerName;

    /**
     * 审核时间
     */
    @TableField(value = "review_time")
    private Date reviewTime;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    @TableField(value = "del_flag")
    private String delFlag;

    /**
     * 创建者
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新者
     */
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 收款人手机号
     */
    @TableField(value = "phone_number")
    private String phoneNumber;

    /**
     * 收款人头像
     */
    @TableField(value = "avatar")
    private String avatar;

    /**
     * 用户提现手续费百分比
     */
    @TableField(value = "withdraw_fee_percent")
    private Integer withdrawFeePercent;

    /**
     * 实际到账金额
     */
    @TableField(value = "payment")
    private Long payment;


}
